USE [influenza]
GO

/****** Object:  StoredProcedure [dbo].[SP_GuardAuxLabRes]    Script Date: 04/07/2010 05:06:21 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


	ALTER PROCEDURE [dbo].[SP_GuardAuxLabRes]

	@idRegistro varchar(10),
	@ntecnica varchar(2),
	@nResultado varchar(2),
	@nProc varchar(2),
	@fResultado varchar(10),
	@fTermino varchar(10),
	@nEstudio varchar(4),
	@id_auxLabRes varchar(200)
	as
	Begin

	declare 
	@cuentReg varchar(1),
	@qry varchar(8000),
	@qry2 varchar(8000),
	@qry3 varchar(8000),
	@id_registro varchar(10),
	@id_DAT_lab varchar(20)
	
select @id_registro=id_principal, @id_DAT_lab= id_dat_laboratorio from aux_muestras Where id_muestras=@idRegistro	
 if @nTecnica=7
	begin
		select @cuentReg=isnull((MAX(id_resultado)),0) 
		from aux_laboratorio_res 
		Where id_dat_registro=@id_registro 
		and nProc=@nProc
		and id_dat_laboratorio=@id_DAT_lab
		and nEstudio=@nEstudio
		and nTecnica=@ntecnica
		and nResultado=@nResultado
		
	if @cuentReg=0
			begin
				SET @qry='insert into aux_laboratorio_res(id_dat_laboratorio,id_dat_registro,nTecnica,nResultado,fResultado,fTermino,nProc,nEstudio)'+
						 'values('+@id_DAT_lab+','+@id_registro+','+@ntecnica+','+@nResultado+',GETDATE(),CONVERT(varchar(10),'''+@fTermino+''',126),'+@nProc+','+@nEstudio+')'			
			end
		else
			begin
				set @qry='update aux_laboratorio_res SET nTecnica='+@ntecnica+',nResultado='+@nResultado+',fTermino=CONVERT(varchar(10),'''+@fTermino+''',126) Where id_dat_registro='+@id_registro+' and id_dat_laboratorio='+@id_DAT_lab+' and nProc='+@nProc 			
			end
	   end
  else
    begin
	 select @cuentReg=isnull((MAX(id_resultado)),0) 
	 from aux_laboratorio_res 
	 Where id_dat_registro=@id_registro and id_dat_laboratorio=@id_DAT_lab and nProc=@nProc and id_resultado=@id_auxLabRes
	 
	if @cuentReg=0
	  begin
		SET @qry='insert into aux_laboratorio_res(id_dat_laboratorio,id_dat_registro,nTecnica,nResultado,fResultado,fTermino,nProc,nEstudio)'+
		 'values('+@id_DAT_lab+','+@id_registro+','+@ntecnica+','+@nResultado+',GETDATE(),CONVERT(varchar(10),'''+@fTermino+''',126),'+@nProc+','+@nEstudio+')'
	  end
	  else
		  begin
			set @qry='update aux_laboratorio_res SET nTecnica='+@ntecnica+',nResultado='+@nResultado+',fTermino=CONVERT(varchar(10),'''+@fTermino+''',126) Where id_dat_registro='+@id_registro+' and id_dat_laboratorio='+@id_DAT_lab+' and nProc='+@nProc+' and id_resultado='+@id_auxLabRes
		  end
	end
	exec(@qry)
	
	set @qry2='UPDATE AUX_MUESTRAS SET nResultado='+@nResultado+',fResultado=GETDATE() Where id_muestras='+@idRegistro
	exec(@qry2)
	
	if @nEstudio=1
		begin
			set @qry3='UPDATE dat_registro SET nLabResultado='+@nResultado+' where id_principal='+@id_registro
			exec(@qry3)
		end
	End

GO

